/*************************************************************
**    Filename  :
**
**    Author :  
**    Version :  
**    Date   :   
*************************************************************/


#ifndef __OS_Task_H_
#define __OS_Task_H_
#ifdef __cplusplus
extern "C"{
#endif

#ifdef __cplusplus
extern "C" {
#endif


typedef void (*OsTaskFunc_t)(void);

#define Os_TASK_PRIORITY_MIN  1       /* low  */
#define Os_TASK_PRIORITY_MAX  99      /* high */

int Os_TaskCreate(char *name, int priority, int options, int stackSize, OsTaskFunc_t routineEntry, int arg1, int arg2, int arg3, int arg4);
int Os_TaskDelayTick(int ticks);
int Os_TaskDelayMs(int Ms);

int ThreadCreate(char *name, int priority, int options, int stackSize, OsTaskFunc_t routineEntry, int arg1, int arg2, int arg3, int arg4);
int Os_ThreadDelete(int tid);
int Os_ThreadSuspend(int tid);
int Os_ThreadResume(int tid);
int Os_ThreadSelf(void);
char *Os_ThreadName(int tid);


int Os_ThreadDelayTick(int ticks);
int Os_ThreadDelayMs(int Ms);

#ifdef __cplusplus
}
#endif
#endif
